解题思路:
本题是把符合条件的学生记录存入到另一个结构体,人数通过函数返回,记录由实参b返回。
1. 符合条件的学生人数存在变量j(初始值为0)中,最后返回其值。
2. 利用for循环语句,依次判断是否符合条件,如果成绩相等,则把记录存入b中,人数j加1;如果当前成绩a[i].s小于最低成绩min,那么人数重新初始化为0,把当前成绩存入最低成绩中,人数j加1。
3. 直至循环结束为止。
参考答案:
int fun( STREC *a, STREC *b )
{
int i, j = 0, min=a[0].s ;
for(i = 0 ; i < N; i++) {
if(min > a[i].s) {
j = 0 ; b[j++] = a[i] ; min = a[i].s ;
}
else if(min == a[i].s)
b[j++] = a[i] ;
}
return j ;
}